package com.leo.version4;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @ClassName FontAwesomeDemo
 * @Description 字体展示（硬编码用法）
 * @Author wangss
 * @date 2020.11.17 18:06
 * @Version 1.0
 */
public class FontAwesomeDemo extends Application {

    private Font fontAwesome;
    private Map<String, Character> fontAwesomeMap;
    private List<Button> btnList;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        BorderPane root = new BorderPane();
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.setWidth(1000);
        primaryStage.setHeight(600);
        primaryStage.centerOnScreen();
        primaryStage.setTitle("字体图标使用");
        primaryStage.show();

        btnList = fontAwesomeMap.keySet().stream().map(i -> createGlyphButton(i, 3)).collect(Collectors.toList());

        HBox topPane = new HBox();
        topPane.setAlignment(Pos.BASELINE_CENTER);
        topPane.setPadding(new Insets(16));
        topPane.setSpacing(10);
        Text title = new Text("Icon Button List");
        title.setFont(Font.font(24));
        topPane.getChildren().addAll(title);
        HBox.setHgrow(title, Priority.ALWAYS);

        ScrollPane scrollPane = new ScrollPane();
        scrollPane.setPadding(new Insets(16));
        FlowPane flowPane = new FlowPane();
        flowPane.setHgap(5);
        flowPane.setVgap(5);
        flowPane.getChildren().addAll(btnList);
        scrollPane.setContent(flowPane);
        flowPane.prefWidthProperty().bind(scrollPane.widthProperty().subtract(20.0));

        root.setTop(topPane);
        root.setCenter(scrollPane);
    }

    private Button createGlyphButton(String glyphName, int sizeFactor) {
        Label lbl = new Label();
        // 使用自定义字体
        lbl.setFont(Font.font(fontAwesome.getFamily(), 8 * sizeFactor));
        // 创建并使用填充色(可选)
        lbl.setText(String.valueOf(fontAwesomeMap.get(glyphName)));
        Button btn = new Button(glyphName, lbl);
        btn.setWrapText(true);
        btn.setContentDisplay(ContentDisplay.TOP);

        Tooltip tooltip = new Tooltip(glyphName);
        tooltip.setFont(Font.font(20));
        btn.setTooltip(tooltip);
        return btn;
    }

    @Override
    public void init() throws Exception {
        URL url = this.getClass().getClassLoader().getResource("font/fontawesome-webfont.ttf");
        fontAwesome = Font.loadFont(url.toExternalForm(), 24);
        fontAwesomeMap = new HashMap<>();
        fontAwesomeMap.put("fa-500px", '\uf26e');
        fontAwesomeMap.put("fa-address-book", '\uf2b9');
        fontAwesomeMap.put("fa-address-book-o", '\uf2ba');
        fontAwesomeMap.put("fa-address-card", '\uf2bb');
        fontAwesomeMap.put("fa-address-card-o", '\uf2bc');
        fontAwesomeMap.put("fa-adjust", '\uf042');
        fontAwesomeMap.put("fa-adn", '\uf170');
        fontAwesomeMap.put("fa-align-center", '\uf037');
        fontAwesomeMap.put("fa-align-justify", '\uf039');
        fontAwesomeMap.put("fa-align-left", '\uf036');
        fontAwesomeMap.put("fa-align-right", '\uf038');
        fontAwesomeMap.put("fa-amazon", '\uf270');
        fontAwesomeMap.put("fa-ambulance", '\uf0f9');
        fontAwesomeMap.put("fa-american-sign-language-interpreting", '\uf2a3');
        fontAwesomeMap.put("fa-anchor", '\uf13d');
        fontAwesomeMap.put("fa-android", '\uf17b');
        fontAwesomeMap.put("fa-angellist", '\uf209');
        fontAwesomeMap.put("fa-angle-double-down", '\uf103');
        fontAwesomeMap.put("fa-angle-double-left", '\uf100');
        fontAwesomeMap.put("fa-angle-double-right", '\uf101');
        fontAwesomeMap.put("fa-angle-double-up", '\uf102');
        fontAwesomeMap.put("fa-angle-down", '\uf107');
        fontAwesomeMap.put("fa-angle-left", '\uf104');
        fontAwesomeMap.put("fa-angle-right", '\uf105');
        fontAwesomeMap.put("fa-angle-up", '\uf106');
        fontAwesomeMap.put("fa-apple", '\uf179');
        fontAwesomeMap.put("fa-archive", '\uf187');
        fontAwesomeMap.put("fa-area-chart", '\uf1fe');
        fontAwesomeMap.put("fa-arrow-circle-down", '\uf0ab');
        fontAwesomeMap.put("fa-arrow-circle-left", '\uf0a8');
        fontAwesomeMap.put("fa-arrow-circle-o-down", '\uf01a');
        fontAwesomeMap.put("fa-arrow-circle-o-left", '\uf190');
        fontAwesomeMap.put("fa-arrow-circle-o-right", '\uf18e');
        fontAwesomeMap.put("fa-arrow-circle-o-up", '\uf01b');
        fontAwesomeMap.put("fa-arrow-circle-right", '\uf0a9');
        fontAwesomeMap.put("fa-arrow-circle-up", '\uf0aa');
        fontAwesomeMap.put("fa-arrow-down", '\uf063');
        fontAwesomeMap.put("fa-arrow-left", '\uf060');
        fontAwesomeMap.put("fa-arrow-right", '\uf061');
        fontAwesomeMap.put("fa-arrow-up", '\uf062');
        fontAwesomeMap.put("fa-arrows", '\uf047');
        fontAwesomeMap.put("fa-arrows-alt", '\uf0b2');
        fontAwesomeMap.put("fa-arrows-h", '\uf07e');
        fontAwesomeMap.put("fa-arrows-v", '\uf07d');
        fontAwesomeMap.put("fa-asl-interpreting (alias)", '\uf2a3');
        fontAwesomeMap.put("fa-assistive-listening-systems", '\uf2a2');
        fontAwesomeMap.put("fa-asterisk", '\uf069');
        fontAwesomeMap.put("fa-at", '\uf1fa');
        fontAwesomeMap.put("fa-audio-description", '\uf29e');
        fontAwesomeMap.put("fa-automobile (alias)", '\uf1b9');
        fontAwesomeMap.put("fa-backward", '\uf04a');
        fontAwesomeMap.put("fa-balance-scale", '\uf24e');
        fontAwesomeMap.put("fa-ban", '\uf05e');
        fontAwesomeMap.put("fa-bandcamp", '\uf2d5');
        fontAwesomeMap.put("fa-bank (alias)", '\uf19c');
        fontAwesomeMap.put("fa-bar-chart", '\uf080');
        fontAwesomeMap.put("fa-bar-chart-o (alias)", '\uf080');
        fontAwesomeMap.put("fa-barcode", '\uf02a');
        fontAwesomeMap.put("fa-bars", '\uf0c9');
        fontAwesomeMap.put("fa-bath", '\uf2cd');
        fontAwesomeMap.put("fa-bathtub (alias)", '\uf2cd');
        fontAwesomeMap.put("fa-battery (alias)", '\uf240');
        fontAwesomeMap.put("fa-battery-0 (alias)", '\uf244');
        fontAwesomeMap.put("fa-battery-1 (alias)", '\uf243');
        fontAwesomeMap.put("fa-battery-2 (alias)", '\uf242');
        fontAwesomeMap.put("fa-battery-3 (alias)", '\uf241');
        fontAwesomeMap.put("fa-battery-4 (alias)", '\uf240');
        fontAwesomeMap.put("fa-battery-empty", '\uf244');
        fontAwesomeMap.put("fa-battery-full", '\uf240');
        fontAwesomeMap.put("fa-battery-half", '\uf242');
        fontAwesomeMap.put("fa-battery-quarter", '\uf243');
        fontAwesomeMap.put("fa-battery-three-quarters", '\uf241');
        fontAwesomeMap.put("fa-bed", '\uf236');
        fontAwesomeMap.put("fa-beer", '\uf0fc');
        fontAwesomeMap.put("fa-behance", '\uf1b4');
        fontAwesomeMap.put("fa-behance-square", '\uf1b5');
        fontAwesomeMap.put("fa-bell", '\uf0f3');
        fontAwesomeMap.put("fa-bell-o", '\uf0a2');
        fontAwesomeMap.put("fa-bell-slash", '\uf1f6');
        fontAwesomeMap.put("fa-bell-slash-o", '\uf1f7');
        fontAwesomeMap.put("fa-bicycle", '\uf206');
        fontAwesomeMap.put("fa-binoculars", '\uf1e5');
        fontAwesomeMap.put("fa-birthday-cake", '\uf1fd');
        fontAwesomeMap.put("fa-bitbucket", '\uf171');
        fontAwesomeMap.put("fa-bitbucket-square", '\uf172');
        fontAwesomeMap.put("fa-bitcoin (alias)", '\uf15a');
        fontAwesomeMap.put("fa-black-tie", '\uf27e');
        fontAwesomeMap.put("fa-blind", '\uf29d');
        fontAwesomeMap.put("fa-bluetooth", '\uf293');
        fontAwesomeMap.put("fa-bluetooth-b", '\uf294');
        fontAwesomeMap.put("fa-bold", '\uf032');
        fontAwesomeMap.put("fa-bolt", '\uf0e7');
        fontAwesomeMap.put("fa-bomb", '\uf1e2');
        fontAwesomeMap.put("fa-book", '\uf02d');
        fontAwesomeMap.put("fa-bookmark", '\uf02e');
        fontAwesomeMap.put("fa-bookmark-o", '\uf097');
        fontAwesomeMap.put("fa-braille", '\uf2a1');
        fontAwesomeMap.put("fa-briefcase", '\uf0b1');
        fontAwesomeMap.put("fa-btc", '\uf15a');
        fontAwesomeMap.put("fa-bug", '\uf188');
        fontAwesomeMap.put("fa-building", '\uf1ad');
        fontAwesomeMap.put("fa-building-o", '\uf0f7');
        fontAwesomeMap.put("fa-bullhorn", '\uf0a1');
        fontAwesomeMap.put("fa-bullseye", '\uf140');
        fontAwesomeMap.put("fa-bus", '\uf207');
        fontAwesomeMap.put("fa-buysellads", '\uf20d');
        fontAwesomeMap.put("fa-cab (alias)", '\uf1ba');
        fontAwesomeMap.put("fa-calculator", '\uf1ec');
        fontAwesomeMap.put("fa-calendar", '\uf073');
        fontAwesomeMap.put("fa-calendar-check-o", '\uf274');
        fontAwesomeMap.put("fa-calendar-minus-o", '\uf272');
        fontAwesomeMap.put("fa-calendar-o", '\uf133');
        fontAwesomeMap.put("fa-calendar-plus-o", '\uf271');
        fontAwesomeMap.put("fa-calendar-times-o", '\uf273');
        fontAwesomeMap.put("fa-camera", '\uf030');
        fontAwesomeMap.put("fa-camera-retro", '\uf083');
        fontAwesomeMap.put("fa-car", '\uf1b9');
        fontAwesomeMap.put("fa-caret-down", '\uf0d7');
        fontAwesomeMap.put("fa-caret-left", '\uf0d9');
        fontAwesomeMap.put("fa-caret-right", '\uf0da');
        fontAwesomeMap.put("fa-caret-square-o-down", '\uf150');
        fontAwesomeMap.put("fa-caret-square-o-left", '\uf191');
        fontAwesomeMap.put("fa-caret-square-o-right", '\uf152');
        fontAwesomeMap.put("fa-caret-square-o-up", '\uf151');
        fontAwesomeMap.put("fa-caret-up", '\uf0d8');
        fontAwesomeMap.put("fa-cart-arrow-down", '\uf218');
        fontAwesomeMap.put("fa-cart-plus", '\uf217');
        fontAwesomeMap.put("fa-cc", '\uf20a');
        fontAwesomeMap.put("fa-cc-amex", '\uf1f3');
        fontAwesomeMap.put("fa-cc-diners-club", '\uf24c');
        fontAwesomeMap.put("fa-cc-discover", '\uf1f2');
        fontAwesomeMap.put("fa-cc-jcb", '\uf24b');
        fontAwesomeMap.put("fa-cc-mastercard", '\uf1f1');
        fontAwesomeMap.put("fa-cc-paypal", '\uf1f4');
        fontAwesomeMap.put("fa-cc-stripe", '\uf1f5');
        fontAwesomeMap.put("fa-cc-visa", '\uf1f0');
        fontAwesomeMap.put("fa-certificate", '\uf0a3');
        fontAwesomeMap.put("fa-chain (alias)", '\uf0c1');
        fontAwesomeMap.put("fa-chain-broken", '\uf127');
        fontAwesomeMap.put("fa-check", '\uf00c');
        fontAwesomeMap.put("fa-check-circle", '\uf058');
        fontAwesomeMap.put("fa-check-circle-o", '\uf05d');
        fontAwesomeMap.put("fa-check-square", '\uf14a');
        fontAwesomeMap.put("fa-check-square-o", '\uf046');
        fontAwesomeMap.put("fa-chevron-circle-down", '\uf13a');
        fontAwesomeMap.put("fa-chevron-circle-left", '\uf137');
        fontAwesomeMap.put("fa-chevron-circle-right", '\uf138');
        fontAwesomeMap.put("fa-chevron-circle-up", '\uf139');
        fontAwesomeMap.put("fa-chevron-down", '\uf078');
        fontAwesomeMap.put("fa-chevron-left", '\uf053');
        fontAwesomeMap.put("fa-chevron-right", '\uf054');
        fontAwesomeMap.put("fa-chevron-up", '\uf077');
        fontAwesomeMap.put("fa-child", '\uf1ae');
        fontAwesomeMap.put("fa-chrome", '\uf268');
        fontAwesomeMap.put("fa-circle", '\uf111');
        fontAwesomeMap.put("fa-circle-o", '\uf10c');
        fontAwesomeMap.put("fa-circle-o-notch", '\uf1ce');
        fontAwesomeMap.put("fa-circle-thin", '\uf1db');
        fontAwesomeMap.put("fa-clipboard", '\uf0ea');
        fontAwesomeMap.put("fa-clock-o", '\uf017');
        fontAwesomeMap.put("fa-clone", '\uf24d');
        fontAwesomeMap.put("fa-close (alias)", '\uf00d');
        fontAwesomeMap.put("fa-cloud", '\uf0c2');
        fontAwesomeMap.put("fa-cloud-download", '\uf0ed');
        fontAwesomeMap.put("fa-cloud-upload", '\uf0ee');
        fontAwesomeMap.put("fa-cny (alias)", '\uf157');
        fontAwesomeMap.put("fa-code", '\uf121');
        fontAwesomeMap.put("fa-code-fork", '\uf126');
        fontAwesomeMap.put("fa-codepen", '\uf1cb');
        fontAwesomeMap.put("fa-codiepie", '\uf284');
        fontAwesomeMap.put("fa-coffee", '\uf0f4');
        fontAwesomeMap.put("fa-cog", '\uf013');
        fontAwesomeMap.put("fa-cogs", '\uf085');
        fontAwesomeMap.put("fa-columns", '\uf0db');
        fontAwesomeMap.put("fa-comment", '\uf075');
        fontAwesomeMap.put("fa-comment-o", '\uf0e5');
        fontAwesomeMap.put("fa-commenting", '\uf27a');
        fontAwesomeMap.put("fa-commenting-o", '\uf27b');
        fontAwesomeMap.put("fa-comments", '\uf086');
        fontAwesomeMap.put("fa-comments-o", '\uf0e6');
        fontAwesomeMap.put("fa-compass", '\uf14e');
        fontAwesomeMap.put("fa-compress", '\uf066');
        fontAwesomeMap.put("fa-connectdevelop", '\uf20e');
        fontAwesomeMap.put("fa-contao", '\uf26d');
        fontAwesomeMap.put("fa-copy (alias)", '\uf0c5');
        fontAwesomeMap.put("fa-copyright", '\uf1f9');
        fontAwesomeMap.put("fa-creative-commons", '\uf25e');
        fontAwesomeMap.put("fa-credit-card", '\uf09d');
        fontAwesomeMap.put("fa-credit-card-alt", '\uf283');
        fontAwesomeMap.put("fa-crop", '\uf125');
        fontAwesomeMap.put("fa-crosshairs", '\uf05b');
        fontAwesomeMap.put("fa-css3", '\uf13c');
        fontAwesomeMap.put("fa-cube", '\uf1b2');
        fontAwesomeMap.put("fa-cubes", '\uf1b3');
        fontAwesomeMap.put("fa-cut (alias)", '\uf0c4');
        fontAwesomeMap.put("fa-cutlery", '\uf0f5');
        fontAwesomeMap.put("fa-dashboard (alias)", '\uf0e4');
        fontAwesomeMap.put("fa-dashcube", '\uf210');
        fontAwesomeMap.put("fa-database", '\uf1c0');
        fontAwesomeMap.put("fa-deaf", '\uf2a4');
        fontAwesomeMap.put("fa-deafness (alias)", '\uf2a4');
        fontAwesomeMap.put("fa-dedent (alias)", '\uf03b');
        fontAwesomeMap.put("fa-delicious", '\uf1a5');
        fontAwesomeMap.put("fa-desktop", '\uf108');
        fontAwesomeMap.put("fa-deviantart", '\uf1bd');
        fontAwesomeMap.put("fa-diamond", '\uf219');
        fontAwesomeMap.put("fa-digg", '\uf1a6');
        fontAwesomeMap.put("fa-dollar (alias)", '\uf155');
        fontAwesomeMap.put("fa-dot-circle-o", '\uf192');
        fontAwesomeMap.put("fa-download", '\uf019');
        fontAwesomeMap.put("fa-dribbble", '\uf17d');
        fontAwesomeMap.put("fa-drivers-license (alias)", '\uf2c2');
        fontAwesomeMap.put("fa-drivers-license-o (alias)", '\uf2c3');
        fontAwesomeMap.put("fa-dropbox", '\uf16b');
        fontAwesomeMap.put("fa-drupal", '\uf1a9');
        fontAwesomeMap.put("fa-edge", '\uf282');
        fontAwesomeMap.put("fa-edit (alias)", '\uf044');
        fontAwesomeMap.put("fa-eercast", '\uf2da');
        fontAwesomeMap.put("fa-eject", '\uf052');
        fontAwesomeMap.put("fa-ellipsis-h", '\uf141');
        fontAwesomeMap.put("fa-ellipsis-v", '\uf142');
        fontAwesomeMap.put("fa-empire", '\uf1d1');
        fontAwesomeMap.put("fa-envelope", '\uf0e0');
        fontAwesomeMap.put("fa-envelope-o", '\uf003');
        fontAwesomeMap.put("fa-envelope-open", '\uf2b6');
        fontAwesomeMap.put("fa-envelope-open-o", '\uf2b7');
        fontAwesomeMap.put("fa-envelope-square", '\uf199');
        fontAwesomeMap.put("fa-envira", '\uf299');
        fontAwesomeMap.put("fa-eraser", '\uf12d');
        fontAwesomeMap.put("fa-etsy", '\uf2d7');
        fontAwesomeMap.put("fa-eur", '\uf153');
        fontAwesomeMap.put("fa-euro (alias)", '\uf153');
        fontAwesomeMap.put("fa-exchange", '\uf0ec');
        fontAwesomeMap.put("fa-exclamation", '\uf12a');
        fontAwesomeMap.put("fa-exclamation-circle", '\uf06a');
        fontAwesomeMap.put("fa-exclamation-triangle", '\uf071');
        fontAwesomeMap.put("fa-expand", '\uf065');
        fontAwesomeMap.put("fa-expeditedssl", '\uf23e');
        fontAwesomeMap.put("fa-external-link", '\uf08e');
        fontAwesomeMap.put("fa-external-link-square", '\uf14c');
        fontAwesomeMap.put("fa-eye", '\uf06e');
        fontAwesomeMap.put("fa-eye-slash", '\uf070');
        fontAwesomeMap.put("fa-eyedropper", '\uf1fb');
        fontAwesomeMap.put("fa-fa (alias)", '\uf2b4');
        fontAwesomeMap.put("fa-facebook", '\uf09a');
        fontAwesomeMap.put("fa-facebook-f (alias)", '\uf09a');
        fontAwesomeMap.put("fa-facebook-official", '\uf230');
        fontAwesomeMap.put("fa-facebook-square", '\uf082');
        fontAwesomeMap.put("fa-fast-backward", '\uf049');
        fontAwesomeMap.put("fa-fast-forward", '\uf050');
        fontAwesomeMap.put("fa-fax", '\uf1ac');
        fontAwesomeMap.put("fa-feed (alias)", '\uf09e');
        fontAwesomeMap.put("fa-female", '\uf182');
        fontAwesomeMap.put("fa-fighter-jet", '\uf0fb');
        fontAwesomeMap.put("fa-file", '\uf15b');
        fontAwesomeMap.put("fa-file-archive-o", '\uf1c6');
        fontAwesomeMap.put("fa-file-audio-o", '\uf1c7');
        fontAwesomeMap.put("fa-file-code-o", '\uf1c9');
        fontAwesomeMap.put("fa-file-excel-o", '\uf1c3');
        fontAwesomeMap.put("fa-file-image-o", '\uf1c5');
        fontAwesomeMap.put("fa-file-movie-o (alias)", '\uf1c8');
        fontAwesomeMap.put("fa-file-o", '\uf016');
        fontAwesomeMap.put("fa-file-pdf-o", '\uf1c1');
        fontAwesomeMap.put("fa-file-photo-o (alias)", '\uf1c5');
        fontAwesomeMap.put("fa-file-picture-o (alias)", '\uf1c5');
        fontAwesomeMap.put("fa-file-powerpoint-o", '\uf1c4');
        fontAwesomeMap.put("fa-file-sound-o (alias)", '\uf1c7');
        fontAwesomeMap.put("fa-file-text", '\uf15c');
        fontAwesomeMap.put("fa-file-text-o", '\uf0f6');
        fontAwesomeMap.put("fa-file-video-o", '\uf1c8');
        fontAwesomeMap.put("fa-file-word-o", '\uf1c2');
        fontAwesomeMap.put("fa-file-zip-o (alias)", '\uf1c6');
        fontAwesomeMap.put("fa-files-o", '\uf0c5');
        fontAwesomeMap.put("fa-film", '\uf008');
        fontAwesomeMap.put("fa-filter", '\uf0b0');
        fontAwesomeMap.put("fa-fire", '\uf06d');
        fontAwesomeMap.put("fa-fire-extinguisher", '\uf134');
        fontAwesomeMap.put("fa-firefox", '\uf269');
        fontAwesomeMap.put("fa-first-order", '\uf2b0');
        fontAwesomeMap.put("fa-flag", '\uf024');
        fontAwesomeMap.put("fa-flag-checkered", '\uf11e');
        fontAwesomeMap.put("fa-flag-o", '\uf11d');
        fontAwesomeMap.put("fa-flash (alias)", '\uf0e7');
        fontAwesomeMap.put("fa-flask", '\uf0c3');
        fontAwesomeMap.put("fa-flickr", '\uf16e');
        fontAwesomeMap.put("fa-floppy-o", '\uf0c7');
        fontAwesomeMap.put("fa-folder", '\uf07b');
        fontAwesomeMap.put("fa-folder-o", '\uf114');
        fontAwesomeMap.put("fa-folder-open", '\uf07c');
        fontAwesomeMap.put("fa-folder-open-o", '\uf115');
        fontAwesomeMap.put("fa-font", '\uf031');
        fontAwesomeMap.put("fa-font-awesome", '\uf2b4');
        fontAwesomeMap.put("fa-fonticons", '\uf280');
        fontAwesomeMap.put("fa-fort-awesome", '\uf286');
        fontAwesomeMap.put("fa-forumbee", '\uf211');
        fontAwesomeMap.put("fa-forward", '\uf04e');
        fontAwesomeMap.put("fa-foursquare", '\uf180');
        fontAwesomeMap.put("fa-free-code-camp", '\uf2c5');
        fontAwesomeMap.put("fa-frown-o", '\uf119');
        fontAwesomeMap.put("fa-futbol-o", '\uf1e3');
        fontAwesomeMap.put("fa-gamepad", '\uf11b');
        fontAwesomeMap.put("fa-gavel", '\uf0e3');
        fontAwesomeMap.put("fa-gbp", '\uf154');
        fontAwesomeMap.put("fa-ge (alias)", '\uf1d1');
        fontAwesomeMap.put("fa-gear (alias)", '\uf013');
        fontAwesomeMap.put("fa-gears (alias)", '\uf085');
        fontAwesomeMap.put("fa-genderless", '\uf22d');
        fontAwesomeMap.put("fa-get-pocket", '\uf265');
        fontAwesomeMap.put("fa-gg", '\uf260');
        fontAwesomeMap.put("fa-gg-circle", '\uf261');
        fontAwesomeMap.put("fa-gift", '\uf06b');
        fontAwesomeMap.put("fa-git", '\uf1d3');
        fontAwesomeMap.put("fa-git-square", '\uf1d2');
        fontAwesomeMap.put("fa-github", '\uf09b');
        fontAwesomeMap.put("fa-github-alt", '\uf113');
        fontAwesomeMap.put("fa-github-square", '\uf092');
        fontAwesomeMap.put("fa-gitlab", '\uf296');
        fontAwesomeMap.put("fa-gittip (alias)", '\uf184');
        fontAwesomeMap.put("fa-glass", '\uf000');
        fontAwesomeMap.put("fa-glide", '\uf2a5');
        fontAwesomeMap.put("fa-glide-g", '\uf2a6');
        fontAwesomeMap.put("fa-globe", '\uf0ac');
        fontAwesomeMap.put("fa-google", '\uf1a0');
        fontAwesomeMap.put("fa-google-plus", '\uf0d5');
        fontAwesomeMap.put("fa-google-plus-circle (alias)", '\uf2b3');
        fontAwesomeMap.put("fa-google-plus-official", '\uf2b3');
        fontAwesomeMap.put("fa-google-plus-square", '\uf0d4');
        fontAwesomeMap.put("fa-google-wallet", '\uf1ee');
        fontAwesomeMap.put("fa-graduation-cap", '\uf19d');
        fontAwesomeMap.put("fa-gratipay", '\uf184');
        fontAwesomeMap.put("fa-grav", '\uf2d6');
        fontAwesomeMap.put("fa-group (alias)", '\uf0c0');
        fontAwesomeMap.put("fa-h-square", '\uf0fd');
        fontAwesomeMap.put("fa-hacker-news", '\uf1d4');
        fontAwesomeMap.put("fa-hand-grab-o (alias)", '\uf255');
        fontAwesomeMap.put("fa-hand-lizard-o", '\uf258');
        fontAwesomeMap.put("fa-hand-o-down", '\uf0a7');
        fontAwesomeMap.put("fa-hand-o-left", '\uf0a5');
        fontAwesomeMap.put("fa-hand-o-right", '\uf0a4');
        fontAwesomeMap.put("fa-hand-o-up", '\uf0a6');
        fontAwesomeMap.put("fa-hand-paper-o", '\uf256');
        fontAwesomeMap.put("fa-hand-peace-o", '\uf25b');
        fontAwesomeMap.put("fa-hand-pointer-o", '\uf25a');
        fontAwesomeMap.put("fa-hand-rock-o", '\uf255');
        fontAwesomeMap.put("fa-hand-scissors-o", '\uf257');
        fontAwesomeMap.put("fa-hand-spock-o", '\uf259');
        fontAwesomeMap.put("fa-hand-stop-o (alias)", '\uf256');
        fontAwesomeMap.put("fa-handshake-o", '\uf2b5');
        fontAwesomeMap.put("fa-hard-of-hearing (alias)", '\uf2a4');
        fontAwesomeMap.put("fa-hashtag", '\uf292');
        fontAwesomeMap.put("fa-hdd-o", '\uf0a0');
        fontAwesomeMap.put("fa-header", '\uf1dc');
        fontAwesomeMap.put("fa-headphones", '\uf025');
        fontAwesomeMap.put("fa-heart", '\uf004');
        fontAwesomeMap.put("fa-heart-o", '\uf08a');
        fontAwesomeMap.put("fa-heartbeat", '\uf21e');
        fontAwesomeMap.put("fa-history", '\uf1da');
        fontAwesomeMap.put("fa-home", '\uf015');
        fontAwesomeMap.put("fa-hospital-o", '\uf0f8');
        fontAwesomeMap.put("fa-hotel (alias)", '\uf236');
        fontAwesomeMap.put("fa-hourglass", '\uf254');
        fontAwesomeMap.put("fa-hourglass-1 (alias)", '\uf251');
        fontAwesomeMap.put("fa-hourglass-2 (alias)", '\uf252');
        fontAwesomeMap.put("fa-hourglass-3 (alias)", '\uf253');
        fontAwesomeMap.put("fa-hourglass-end", '\uf253');
        fontAwesomeMap.put("fa-hourglass-half", '\uf252');
        fontAwesomeMap.put("fa-hourglass-o", '\uf250');
        fontAwesomeMap.put("fa-hourglass-start", '\uf251');
        fontAwesomeMap.put("fa-houzz", '\uf27c');
        fontAwesomeMap.put("fa-html5", '\uf13b');
        fontAwesomeMap.put("fa-i-cursor", '\uf246');
        fontAwesomeMap.put("fa-id-badge", '\uf2c1');
        fontAwesomeMap.put("fa-id-card", '\uf2c2');
        fontAwesomeMap.put("fa-id-card-o", '\uf2c3');
        fontAwesomeMap.put("fa-ils", '\uf20b');
        fontAwesomeMap.put("fa-image (alias)", '\uf03e');
        fontAwesomeMap.put("fa-imdb", '\uf2d8');
        fontAwesomeMap.put("fa-inbox", '\uf01c');
        fontAwesomeMap.put("fa-indent", '\uf03c');
        fontAwesomeMap.put("fa-industry", '\uf275');
        fontAwesomeMap.put("fa-info", '\uf129');
        fontAwesomeMap.put("fa-info-circle", '\uf05a');
        fontAwesomeMap.put("fa-inr", '\uf156');
        fontAwesomeMap.put("fa-instagram", '\uf16d');
        fontAwesomeMap.put("fa-institution (alias)", '\uf19c');
        fontAwesomeMap.put("fa-internet-explorer", '\uf26b');
        fontAwesomeMap.put("fa-intersex (alias)", '\uf224');
        fontAwesomeMap.put("fa-ioxhost", '\uf208');
        fontAwesomeMap.put("fa-italic", '\uf033');
        fontAwesomeMap.put("fa-joomla", '\uf1aa');
        fontAwesomeMap.put("fa-jpy", '\uf157');
        fontAwesomeMap.put("fa-jsfiddle", '\uf1cc');
        fontAwesomeMap.put("fa-key", '\uf084');
        fontAwesomeMap.put("fa-keyboard-o", '\uf11c');
        fontAwesomeMap.put("fa-krw", '\uf159');
        fontAwesomeMap.put("fa-language", '\uf1ab');
        fontAwesomeMap.put("fa-laptop", '\uf109');
        fontAwesomeMap.put("fa-lastfm", '\uf202');
        fontAwesomeMap.put("fa-lastfm-square", '\uf203');
        fontAwesomeMap.put("fa-leaf", '\uf06c');
        fontAwesomeMap.put("fa-leanpub", '\uf212');
        fontAwesomeMap.put("fa-legal (alias)", '\uf0e3');
        fontAwesomeMap.put("fa-lemon-o", '\uf094');
        fontAwesomeMap.put("fa-level-down", '\uf149');
        fontAwesomeMap.put("fa-level-up", '\uf148');
        fontAwesomeMap.put("fa-life-bouy (alias)", '\uf1cd');
        fontAwesomeMap.put("fa-life-buoy (alias)", '\uf1cd');
        fontAwesomeMap.put("fa-life-ring", '\uf1cd');
        fontAwesomeMap.put("fa-life-saver (alias)", '\uf1cd');
        fontAwesomeMap.put("fa-lightbulb-o", '\uf0eb');
        fontAwesomeMap.put("fa-line-chart", '\uf201');
        fontAwesomeMap.put("fa-link", '\uf0c1');
        fontAwesomeMap.put("fa-linkedin", '\uf0e1');
        fontAwesomeMap.put("fa-linkedin-square", '\uf08c');
        fontAwesomeMap.put("fa-linode", '\uf2b8');
        fontAwesomeMap.put("fa-linux", '\uf17c');
        fontAwesomeMap.put("fa-list", '\uf03a');
        fontAwesomeMap.put("fa-list-alt", '\uf022');
        fontAwesomeMap.put("fa-list-ol", '\uf0cb');
        fontAwesomeMap.put("fa-list-ul", '\uf0ca');
        fontAwesomeMap.put("fa-location-arrow", '\uf124');
        fontAwesomeMap.put("fa-lock", '\uf023');
        fontAwesomeMap.put("fa-long-arrow-down", '\uf175');
        fontAwesomeMap.put("fa-long-arrow-left", '\uf177');
        fontAwesomeMap.put("fa-long-arrow-right", '\uf178');
        fontAwesomeMap.put("fa-long-arrow-up", '\uf176');
        fontAwesomeMap.put("fa-low-vision", '\uf2a8');
        fontAwesomeMap.put("fa-magic", '\uf0d0');
        fontAwesomeMap.put("fa-magnet", '\uf076');
        fontAwesomeMap.put("fa-mail-forward (alias)", '\uf064');
        fontAwesomeMap.put("fa-mail-reply (alias)", '\uf112');
        fontAwesomeMap.put("fa-mail-reply-all (alias)", '\uf122');
        fontAwesomeMap.put("fa-male", '\uf183');
        fontAwesomeMap.put("fa-map", '\uf279');
        fontAwesomeMap.put("fa-map-marker", '\uf041');
        fontAwesomeMap.put("fa-map-o", '\uf278');
        fontAwesomeMap.put("fa-map-pin", '\uf276');
        fontAwesomeMap.put("fa-map-signs", '\uf277');
        fontAwesomeMap.put("fa-mars", '\uf222');
        fontAwesomeMap.put("fa-mars-double", '\uf227');
        fontAwesomeMap.put("fa-mars-stroke", '\uf229');
        fontAwesomeMap.put("fa-mars-stroke-h", '\uf22b');
        fontAwesomeMap.put("fa-mars-stroke-v", '\uf22a');
        fontAwesomeMap.put("fa-maxcdn", '\uf136');
        fontAwesomeMap.put("fa-meanpath", '\uf20c');
        fontAwesomeMap.put("fa-medium", '\uf23a');
        fontAwesomeMap.put("fa-medkit", '\uf0fa');
        fontAwesomeMap.put("fa-meetup", '\uf2e0');
        fontAwesomeMap.put("fa-meh-o", '\uf11a');
        fontAwesomeMap.put("fa-mercury", '\uf223');
        fontAwesomeMap.put("fa-microchip", '\uf2db');
        fontAwesomeMap.put("fa-microphone", '\uf130');
        fontAwesomeMap.put("fa-microphone-slash", '\uf131');
        fontAwesomeMap.put("fa-minus", '\uf068');
        fontAwesomeMap.put("fa-minus-circle", '\uf056');
        fontAwesomeMap.put("fa-minus-square", '\uf146');
        fontAwesomeMap.put("fa-minus-square-o", '\uf147');
        fontAwesomeMap.put("fa-mixcloud", '\uf289');
        fontAwesomeMap.put("fa-mobile", '\uf10b');
        fontAwesomeMap.put("fa-mobile-phone (alias)", '\uf10b');
        fontAwesomeMap.put("fa-modx", '\uf285');
        fontAwesomeMap.put("fa-money", '\uf0d6');
        fontAwesomeMap.put("fa-moon-o", '\uf186');
        fontAwesomeMap.put("fa-mortar-board (alias)", '\uf19d');
        fontAwesomeMap.put("fa-motorcycle", '\uf21c');
        fontAwesomeMap.put("fa-mouse-pointer", '\uf245');
        fontAwesomeMap.put("fa-music", '\uf001');
        fontAwesomeMap.put("fa-navicon (alias)", '\uf0c9');
        fontAwesomeMap.put("fa-neuter", '\uf22c');
        fontAwesomeMap.put("fa-newspaper-o", '\uf1ea');
        fontAwesomeMap.put("fa-object-group", '\uf247');
        fontAwesomeMap.put("fa-object-ungroup", '\uf248');
        fontAwesomeMap.put("fa-odnoklassniki", '\uf263');
        fontAwesomeMap.put("fa-odnoklassniki-square", '\uf264');
        fontAwesomeMap.put("fa-opencart", '\uf23d');
        fontAwesomeMap.put("fa-openid", '\uf19b');
        fontAwesomeMap.put("fa-opera", '\uf26a');
        fontAwesomeMap.put("fa-optin-monster", '\uf23c');
        fontAwesomeMap.put("fa-outdent", '\uf03b');
        fontAwesomeMap.put("fa-pagelines", '\uf18c');
        fontAwesomeMap.put("fa-paint-brush", '\uf1fc');
        fontAwesomeMap.put("fa-paper-plane", '\uf1d8');
        fontAwesomeMap.put("fa-paper-plane-o", '\uf1d9');
        fontAwesomeMap.put("fa-paperclip", '\uf0c6');
        fontAwesomeMap.put("fa-paragraph", '\uf1dd');
        fontAwesomeMap.put("fa-paste (alias)", '\uf0ea');
        fontAwesomeMap.put("fa-pause", '\uf04c');
        fontAwesomeMap.put("fa-pause-circle", '\uf28b');
        fontAwesomeMap.put("fa-pause-circle-o", '\uf28c');
        fontAwesomeMap.put("fa-paw", '\uf1b0');
        fontAwesomeMap.put("fa-paypal", '\uf1ed');
        fontAwesomeMap.put("fa-pencil", '\uf040');
        fontAwesomeMap.put("fa-pencil-square", '\uf14b');
        fontAwesomeMap.put("fa-pencil-square-o", '\uf044');
        fontAwesomeMap.put("fa-percent", '\uf295');
        fontAwesomeMap.put("fa-phone", '\uf095');
        fontAwesomeMap.put("fa-phone-square", '\uf098');
        fontAwesomeMap.put("fa-photo (alias)", '\uf03e');
        fontAwesomeMap.put("fa-picture-o", '\uf03e');
        fontAwesomeMap.put("fa-pie-chart", '\uf200');
        fontAwesomeMap.put("fa-pied-piper", '\uf2ae');
        fontAwesomeMap.put("fa-pied-piper-alt", '\uf1a8');
        fontAwesomeMap.put("fa-pied-piper-pp", '\uf1a7');
        fontAwesomeMap.put("fa-pinterest", '\uf0d2');
        fontAwesomeMap.put("fa-pinterest-p", '\uf231');
        fontAwesomeMap.put("fa-pinterest-square", '\uf0d3');
        fontAwesomeMap.put("fa-plane", '\uf072');
        fontAwesomeMap.put("fa-play", '\uf04b');
        fontAwesomeMap.put("fa-play-circle", '\uf144');
        fontAwesomeMap.put("fa-play-circle-o", '\uf01d');
        fontAwesomeMap.put("fa-plug", '\uf1e6');
        fontAwesomeMap.put("fa-plus", '\uf067');
        fontAwesomeMap.put("fa-plus-circle", '\uf055');
        fontAwesomeMap.put("fa-plus-square", '\uf0fe');
        fontAwesomeMap.put("fa-plus-square-o", '\uf196');
        fontAwesomeMap.put("fa-podcast", '\uf2ce');
        fontAwesomeMap.put("fa-power-off", '\uf011');
        fontAwesomeMap.put("fa-print", '\uf02f');
        fontAwesomeMap.put("fa-product-hunt", '\uf288');
        fontAwesomeMap.put("fa-puzzle-piece", '\uf12e');
        fontAwesomeMap.put("fa-qq", '\uf1d6');
        fontAwesomeMap.put("fa-qrcode", '\uf029');
        fontAwesomeMap.put("fa-question", '\uf128');
        fontAwesomeMap.put("fa-question-circle", '\uf059');
        fontAwesomeMap.put("fa-question-circle-o", '\uf29c');
        fontAwesomeMap.put("fa-quora", '\uf2c4');
        fontAwesomeMap.put("fa-quote-left", '\uf10d');
        fontAwesomeMap.put("fa-quote-right", '\uf10e');
        fontAwesomeMap.put("fa-ra (alias)", '\uf1d0');
        fontAwesomeMap.put("fa-random", '\uf074');
        fontAwesomeMap.put("fa-ravelry", '\uf2d9');
        fontAwesomeMap.put("fa-rebel", '\uf1d0');
        fontAwesomeMap.put("fa-recycle", '\uf1b8');
        fontAwesomeMap.put("fa-reddit", '\uf1a1');
        fontAwesomeMap.put("fa-reddit-alien", '\uf281');
        fontAwesomeMap.put("fa-reddit-square", '\uf1a2');
        fontAwesomeMap.put("fa-refresh", '\uf021');
        fontAwesomeMap.put("fa-registered", '\uf25d');
        fontAwesomeMap.put("fa-remove (alias)", '\uf00d');
        fontAwesomeMap.put("fa-renren", '\uf18b');
        fontAwesomeMap.put("fa-reorder (alias)", '\uf0c9');
        fontAwesomeMap.put("fa-repeat", '\uf01e');
        fontAwesomeMap.put("fa-reply", '\uf112');
        fontAwesomeMap.put("fa-reply-all", '\uf122');
        fontAwesomeMap.put("fa-resistance (alias)", '\uf1d0');
        fontAwesomeMap.put("fa-retweet", '\uf079');
        fontAwesomeMap.put("fa-rmb (alias)", '\uf157');
        fontAwesomeMap.put("fa-road", '\uf018');
        fontAwesomeMap.put("fa-rocket", '\uf135');
        fontAwesomeMap.put("fa-rotate-left (alias)", '\uf0e2');
        fontAwesomeMap.put("fa-rotate-right (alias)", '\uf01e');
        fontAwesomeMap.put("fa-rouble (alias)", '\uf158');
        fontAwesomeMap.put("fa-rss", '\uf09e');
        fontAwesomeMap.put("fa-rss-square", '\uf143');
        fontAwesomeMap.put("fa-rub", '\uf158');
        fontAwesomeMap.put("fa-ruble (alias)", '\uf158');
        fontAwesomeMap.put("fa-rupee (alias)", '\uf156');
        fontAwesomeMap.put("fa-s15 (alias)", '\uf2cd');
        fontAwesomeMap.put("fa-safari", '\uf267');
        fontAwesomeMap.put("fa-save (alias)", '\uf0c7');
        fontAwesomeMap.put("fa-scissors", '\uf0c4');
        fontAwesomeMap.put("fa-scribd", '\uf28a');
        fontAwesomeMap.put("fa-search", '\uf002');
        fontAwesomeMap.put("fa-search-minus", '\uf010');
        fontAwesomeMap.put("fa-search-plus", '\uf00e');
        fontAwesomeMap.put("fa-sellsy", '\uf213');
        fontAwesomeMap.put("fa-send (alias)", '\uf1d8');
        fontAwesomeMap.put("fa-send-o (alias)", '\uf1d9');
        fontAwesomeMap.put("fa-server", '\uf233');
        fontAwesomeMap.put("fa-share", '\uf064');
        fontAwesomeMap.put("fa-share-alt", '\uf1e0');
        fontAwesomeMap.put("fa-share-alt-square", '\uf1e1');
        fontAwesomeMap.put("fa-share-square", '\uf14d');
        fontAwesomeMap.put("fa-share-square-o", '\uf045');
        fontAwesomeMap.put("fa-shekel (alias)", '\uf20b');
        fontAwesomeMap.put("fa-sheqel (alias)", '\uf20b');
        fontAwesomeMap.put("fa-shield", '\uf132');
        fontAwesomeMap.put("fa-ship", '\uf21a');
        fontAwesomeMap.put("fa-shirtsinbulk", '\uf214');
        fontAwesomeMap.put("fa-shopping-bag", '\uf290');
        fontAwesomeMap.put("fa-shopping-basket", '\uf291');
        fontAwesomeMap.put("fa-shopping-cart", '\uf07a');
        fontAwesomeMap.put("fa-shower", '\uf2cc');
        fontAwesomeMap.put("fa-sign-in", '\uf090');
        fontAwesomeMap.put("fa-sign-language", '\uf2a7');
        fontAwesomeMap.put("fa-sign-out", '\uf08b');
        fontAwesomeMap.put("fa-signal", '\uf012');
        fontAwesomeMap.put("fa-signing (alias)", '\uf2a7');
        fontAwesomeMap.put("fa-simplybuilt", '\uf215');
        fontAwesomeMap.put("fa-sitemap", '\uf0e8');
        fontAwesomeMap.put("fa-skyatlas", '\uf216');
        fontAwesomeMap.put("fa-skype", '\uf17e');
        fontAwesomeMap.put("fa-slack", '\uf198');
        fontAwesomeMap.put("fa-sliders", '\uf1de');
        fontAwesomeMap.put("fa-slideshare", '\uf1e7');
        fontAwesomeMap.put("fa-smile-o", '\uf118');
        fontAwesomeMap.put("fa-snapchat", '\uf2ab');
        fontAwesomeMap.put("fa-snapchat-ghost", '\uf2ac');
        fontAwesomeMap.put("fa-snapchat-square", '\uf2ad');
        fontAwesomeMap.put("fa-snowflake-o", '\uf2dc');
        fontAwesomeMap.put("fa-soccer-ball-o (alias)", '\uf1e3');
        fontAwesomeMap.put("fa-sort", '\uf0dc');
        fontAwesomeMap.put("fa-sort-alpha-asc", '\uf15d');
        fontAwesomeMap.put("fa-sort-alpha-desc", '\uf15e');
        fontAwesomeMap.put("fa-sort-amount-asc", '\uf160');
        fontAwesomeMap.put("fa-sort-amount-desc", '\uf161');
        fontAwesomeMap.put("fa-sort-asc", '\uf0de');
        fontAwesomeMap.put("fa-sort-desc", '\uf0dd');
        fontAwesomeMap.put("fa-sort-down (alias)", '\uf0dd');
        fontAwesomeMap.put("fa-sort-numeric-asc", '\uf162');
        fontAwesomeMap.put("fa-sort-numeric-desc", '\uf163');
        fontAwesomeMap.put("fa-sort-up (alias)", '\uf0de');
        fontAwesomeMap.put("fa-soundcloud", '\uf1be');
        fontAwesomeMap.put("fa-space-shuttle", '\uf197');
        fontAwesomeMap.put("fa-spinner", '\uf110');
        fontAwesomeMap.put("fa-spoon", '\uf1b1');
        fontAwesomeMap.put("fa-spotify", '\uf1bc');
        fontAwesomeMap.put("fa-square", '\uf0c8');
        fontAwesomeMap.put("fa-square-o", '\uf096');
        fontAwesomeMap.put("fa-stack-exchange", '\uf18d');
        fontAwesomeMap.put("fa-stack-overflow", '\uf16c');
        fontAwesomeMap.put("fa-star", '\uf005');
        fontAwesomeMap.put("fa-star-half", '\uf089');
        fontAwesomeMap.put("fa-star-half-empty (alias)", '\uf123');
        fontAwesomeMap.put("fa-star-half-full (alias)", '\uf123');
        fontAwesomeMap.put("fa-star-half-o", '\uf123');
        fontAwesomeMap.put("fa-star-o", '\uf006');
        fontAwesomeMap.put("fa-steam", '\uf1b6');
        fontAwesomeMap.put("fa-steam-square", '\uf1b7');
        fontAwesomeMap.put("fa-step-backward", '\uf048');
        fontAwesomeMap.put("fa-step-forward", '\uf051');
        fontAwesomeMap.put("fa-stethoscope", '\uf0f1');
        fontAwesomeMap.put("fa-sticky-note", '\uf249');
        fontAwesomeMap.put("fa-sticky-note-o", '\uf24a');
        fontAwesomeMap.put("fa-stop", '\uf04d');
        fontAwesomeMap.put("fa-stop-circle", '\uf28d');
        fontAwesomeMap.put("fa-stop-circle-o", '\uf28e');
        fontAwesomeMap.put("fa-street-view", '\uf21d');
        fontAwesomeMap.put("fa-strikethrough", '\uf0cc');
        fontAwesomeMap.put("fa-stumbleupon", '\uf1a4');
        fontAwesomeMap.put("fa-stumbleupon-circle", '\uf1a3');
        fontAwesomeMap.put("fa-subscript", '\uf12c');
        fontAwesomeMap.put("fa-subway", '\uf239');
        fontAwesomeMap.put("fa-suitcase", '\uf0f2');
        fontAwesomeMap.put("fa-sun-o", '\uf185');
        fontAwesomeMap.put("fa-superpowers", '\uf2dd');
        fontAwesomeMap.put("fa-superscript", '\uf12b');
        fontAwesomeMap.put("fa-support (alias)", '\uf1cd');
        fontAwesomeMap.put("fa-table", '\uf0ce');
        fontAwesomeMap.put("fa-tablet", '\uf10a');
        fontAwesomeMap.put("fa-tachometer", '\uf0e4');
        fontAwesomeMap.put("fa-tag", '\uf02b');
        fontAwesomeMap.put("fa-tags", '\uf02c');
        fontAwesomeMap.put("fa-tasks", '\uf0ae');
        fontAwesomeMap.put("fa-taxi", '\uf1ba');
        fontAwesomeMap.put("fa-telegram", '\uf2c6');
        fontAwesomeMap.put("fa-television", '\uf26c');
        fontAwesomeMap.put("fa-tencent-weibo", '\uf1d5');
        fontAwesomeMap.put("fa-terminal", '\uf120');
        fontAwesomeMap.put("fa-text-height", '\uf034');
        fontAwesomeMap.put("fa-text-width", '\uf035');
        fontAwesomeMap.put("fa-th", '\uf00a');
        fontAwesomeMap.put("fa-th-large", '\uf009');
        fontAwesomeMap.put("fa-th-list", '\uf00b');
        fontAwesomeMap.put("fa-themeisle", '\uf2b2');
        fontAwesomeMap.put("fa-thermometer (alias)", '\uf2c7');
        fontAwesomeMap.put("fa-thermometer-0 (alias)", '\uf2cb');
        fontAwesomeMap.put("fa-thermometer-1 (alias)", '\uf2ca');
        fontAwesomeMap.put("fa-thermometer-2 (alias)", '\uf2c9');
        fontAwesomeMap.put("fa-thermometer-3 (alias)", '\uf2c8');
        fontAwesomeMap.put("fa-thermometer-4 (alias)", '\uf2c7');
        fontAwesomeMap.put("fa-thermometer-empty", '\uf2cb');
        fontAwesomeMap.put("fa-thermometer-full", '\uf2c7');
        fontAwesomeMap.put("fa-thermometer-half", '\uf2c9');
        fontAwesomeMap.put("fa-thermometer-quarter", '\uf2ca');
        fontAwesomeMap.put("fa-thermometer-three-quarters", '\uf2c8');
        fontAwesomeMap.put("fa-thumb-tack", '\uf08d');
        fontAwesomeMap.put("fa-thumbs-down", '\uf165');
        fontAwesomeMap.put("fa-thumbs-o-down", '\uf088');
        fontAwesomeMap.put("fa-thumbs-o-up", '\uf087');
        fontAwesomeMap.put("fa-thumbs-up", '\uf164');
        fontAwesomeMap.put("fa-ticket", '\uf145');
        fontAwesomeMap.put("fa-times", '\uf00d');
        fontAwesomeMap.put("fa-times-circle", '\uf057');
        fontAwesomeMap.put("fa-times-circle-o", '\uf05c');
        fontAwesomeMap.put("fa-times-rectangle (alias)", '\uf2d3');
        fontAwesomeMap.put("fa-times-rectangle-o (alias)", '\uf2d4');
        fontAwesomeMap.put("fa-tint", '\uf043');
        fontAwesomeMap.put("fa-toggle-down (alias)", '\uf150');
        fontAwesomeMap.put("fa-toggle-left (alias)", '\uf191');
        fontAwesomeMap.put("fa-toggle-off", '\uf204');
        fontAwesomeMap.put("fa-toggle-on", '\uf205');
        fontAwesomeMap.put("fa-toggle-right (alias)", '\uf152');
        fontAwesomeMap.put("fa-toggle-up (alias)", '\uf151');
        fontAwesomeMap.put("fa-trademark", '\uf25c');
        fontAwesomeMap.put("fa-train", '\uf238');
        fontAwesomeMap.put("fa-transgender", '\uf224');
        fontAwesomeMap.put("fa-transgender-alt", '\uf225');
        fontAwesomeMap.put("fa-trash", '\uf1f8');
        fontAwesomeMap.put("fa-trash-o", '\uf014');
        fontAwesomeMap.put("fa-tree", '\uf1bb');
        fontAwesomeMap.put("fa-trello", '\uf181');
        fontAwesomeMap.put("fa-tripadvisor", '\uf262');
        fontAwesomeMap.put("fa-trophy", '\uf091');
        fontAwesomeMap.put("fa-truck", '\uf0d1');
        fontAwesomeMap.put("fa-try", '\uf195');
        fontAwesomeMap.put("fa-tty", '\uf1e4');
        fontAwesomeMap.put("fa-tumblr", '\uf173');
        fontAwesomeMap.put("fa-tumblr-square", '\uf174');
        fontAwesomeMap.put("fa-turkish-lira (alias)", '\uf195');
        fontAwesomeMap.put("fa-tv (alias)", '\uf26c');
        fontAwesomeMap.put("fa-twitch", '\uf1e8');
        fontAwesomeMap.put("fa-twitter", '\uf099');
        fontAwesomeMap.put("fa-twitter-square", '\uf081');
        fontAwesomeMap.put("fa-umbrella", '\uf0e9');
        fontAwesomeMap.put("fa-underline", '\uf0cd');
        fontAwesomeMap.put("fa-undo", '\uf0e2');
        fontAwesomeMap.put("fa-universal-access", '\uf29a');
        fontAwesomeMap.put("fa-university", '\uf19c');
        fontAwesomeMap.put("fa-unlink (alias)", '\uf127');
        fontAwesomeMap.put("fa-unlock", '\uf09c');
        fontAwesomeMap.put("fa-unlock-alt", '\uf13e');
        fontAwesomeMap.put("fa-unsorted (alias)", '\uf0dc');
        fontAwesomeMap.put("fa-upload", '\uf093');
        fontAwesomeMap.put("fa-usb", '\uf287');
        fontAwesomeMap.put("fa-usd", '\uf155');
        fontAwesomeMap.put("fa-user", '\uf007');
        fontAwesomeMap.put("fa-user-circle", '\uf2bd');
        fontAwesomeMap.put("fa-user-circle-o", '\uf2be');
        fontAwesomeMap.put("fa-user-md", '\uf0f0');
        fontAwesomeMap.put("fa-user-o", '\uf2c0');
        fontAwesomeMap.put("fa-user-plus", '\uf234');
        fontAwesomeMap.put("fa-user-secret", '\uf21b');
        fontAwesomeMap.put("fa-user-times", '\uf235');
        fontAwesomeMap.put("fa-users", '\uf0c0');
        fontAwesomeMap.put("fa-vcard (alias)", '\uf2bb');
        fontAwesomeMap.put("fa-vcard-o (alias)", '\uf2bc');
        fontAwesomeMap.put("fa-venus", '\uf221');
        fontAwesomeMap.put("fa-venus-double", '\uf226');
        fontAwesomeMap.put("fa-venus-mars", '\uf228');
        fontAwesomeMap.put("fa-viacoin", '\uf237');
        fontAwesomeMap.put("fa-viadeo", '\uf2a9');
        fontAwesomeMap.put("fa-viadeo-square", '\uf2aa');
        fontAwesomeMap.put("fa-video-camera", '\uf03d');
        fontAwesomeMap.put("fa-vimeo", '\uf27d');
        fontAwesomeMap.put("fa-vimeo-square", '\uf194');
        fontAwesomeMap.put("fa-vine", '\uf1ca');
        fontAwesomeMap.put("fa-vk", '\uf189');
        fontAwesomeMap.put("fa-volume-control-phone", '\uf2a0');
        fontAwesomeMap.put("fa-volume-down", '\uf027');
        fontAwesomeMap.put("fa-volume-off", '\uf026');
        fontAwesomeMap.put("fa-volume-up", '\uf028');
        fontAwesomeMap.put("fa-warning (alias)", '\uf071');
        fontAwesomeMap.put("fa-wechat (alias)", '\uf1d7');
        fontAwesomeMap.put("fa-weibo", '\uf18a');
        fontAwesomeMap.put("fa-weixin", '\uf1d7');
        fontAwesomeMap.put("fa-whatsapp", '\uf232');
        fontAwesomeMap.put("fa-wheelchair", '\uf193');
        fontAwesomeMap.put("fa-wheelchair-alt", '\uf29b');
        fontAwesomeMap.put("fa-wifi", '\uf1eb');
        fontAwesomeMap.put("fa-wikipedia-w", '\uf266');
        fontAwesomeMap.put("fa-window-close", '\uf2d3');
        fontAwesomeMap.put("fa-window-close-o", '\uf2d4');
        fontAwesomeMap.put("fa-window-maximize", '\uf2d0');
        fontAwesomeMap.put("fa-window-minimize", '\uf2d1');
        fontAwesomeMap.put("fa-window-restore", '\uf2d2');
        fontAwesomeMap.put("fa-windows", '\uf17a');
        fontAwesomeMap.put("fa-won (alias)", '\uf159');
        fontAwesomeMap.put("fa-wordpress", '\uf19a');
        fontAwesomeMap.put("fa-wpbeginner", '\uf297');
        fontAwesomeMap.put("fa-wpexplorer", '\uf2de');
        fontAwesomeMap.put("fa-wpforms", '\uf298');
        fontAwesomeMap.put("fa-wrench", '\uf0ad');
        fontAwesomeMap.put("fa-xing", '\uf168');
        fontAwesomeMap.put("fa-xing-square", '\uf169');
        fontAwesomeMap.put("fa-y-combinator", '\uf23b');
        fontAwesomeMap.put("fa-y-combinator-square (alias)", '\uf1d4');
        fontAwesomeMap.put("fa-yahoo", '\uf19e');
        fontAwesomeMap.put("fa-yc (alias)", '\uf23b');
        fontAwesomeMap.put("fa-yc-square (alias)", '\uf1d4');
        fontAwesomeMap.put("fa-yelp", '\uf1e9');
        fontAwesomeMap.put("fa-yen (alias)", '\uf157');
        fontAwesomeMap.put("fa-yoast", '\uf2b1');
        fontAwesomeMap.put("fa-youtube", '\uf167');
        fontAwesomeMap.put("fa-youtube-play", '\uf16a');
        fontAwesomeMap.put("fa-youtube-square", '\uf166');
    }
}
